/*26/09 18:56
 * Tp final
 * Rotta Damián - Klikailo, Héctor
 */
package Logica;

import java.util.Date;
import java.util.List;
import java.util.Map;

public class Vehiculo {
    private String modelo, marca, nroDominio;
    private boolean estado;
    private int tara, cargaMaxima, añoCompra;
    private List<Mantenimiento> mantenimientos;

    public Vehiculo() {
        this.estado=true;
    }
        
    public Vehiculo(String modelo, String marca, String nroDominio, int tara, int cargaMaxima, int añoCompra,
                    List<Mantenimiento> mantenimientos) {
        this.modelo = modelo;
        this.marca = marca;
        this.nroDominio = nroDominio;
        this.tara = tara;
        this.cargaMaxima = cargaMaxima;
        this.añoCompra = añoCompra;
        this.estado=true;
        this.mantenimientos=mantenimientos;
    }

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    public String getNroDominio() {
        return nroDominio;
    }

    public void setNroDominio(String nroDominio) {
        this.nroDominio = nroDominio;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public int getTara() {
        return tara;
    }

    public void setTara(int tara) {
        this.tara = tara;
    }

    public int getCargaMaxima() {
        return cargaMaxima;
    }

    public void setCargaMaxima(int cargaMaxima) {
        this.cargaMaxima = cargaMaxima;
    }

    public int getAñoCompra() {
        return añoCompra;
    }

    public void setAñoCompra(int añoCompra) {
        this.añoCompra = añoCompra;
    }
    public void bajaVehiculo(Vehiculo unVehiculo){
        unVehiculo.estado=false;
    }

    public List<Mantenimiento> getMantenimientos() {
        return mantenimientos;
    }

    public void setMantenimientos(List<Mantenimiento> mantenimientos) {
        this.mantenimientos = mantenimientos;
    }
    
    /*public Map<String, Map<String,Personal>> listarMantenimientos(){
        Map<String,Map<String,Personal>> retorno=null;
        for (Mantenimiento unMantenimiento:this.mantenimientos){
            Map<String, Personal> personal = unMantenimiento.listarPersonal(unMantenimiento);
            String aux=unMantenimiento.getFecha();
            retorno.
        }
        return retorno;
    }*/
    public List<Mantenimiento> listarMantenimientos(){
        List<Mantenimiento> retorno=null;
        for (Mantenimiento unMantenimiento:this.mantenimientos){
            retorno.add(unMantenimiento);
        }
        return retorno;
    }

    void altaMantenimiento(Date fechaP, List<Personal> personas, Vehiculo unVehiculo) {
         Map<String, Personal> mapPersonas = null;
         for(Personal unaPersona:personas){
             String DNI = unaPersona.getDni();
             mapPersonas.put(DNI, unaPersona);
         }
         Mantenimiento unMantenimiento = new Mantenimiento(fechaP, mapPersonas, unVehiculo);
         this.mantenimientos.add(unMantenimiento);//To change body of generated methods, choose Tools | Templates.
    }
}
